30 REM FOR 4040/2031/1540/1541 40 PRINT "[147]DISK PURGE" 50 PRINT:PRINT"WHICH DRIVE (0/1) ? [146][157]"; 60 GET DR$:IF DR$<>"0" AND DR$<>"1" THEN 60 70 PRINT DR$:D=VAL(DR$) 80 DR$= "I"+DR$:OPEN 15,8,15,DR$ 90 GOSUB 450 100 OPEN 1,8,3,"#":GOSUB 460 110 PRINT:PRINT "PRESS'Y[146]'TO DEL FILE":PRINT 120 Z$=CHR$(0) 130 T=18:S=1 140 PRINT#15,"U1:"3;D;T;S 150 PRINT#15,"B-P:"3;2+32*R 160 GET#1,A$:IF A$="" THEN A$=Z$ 170 IF ASC(A$)<129 THEN 270 180 FOR K=5+32*R TO 20+32*R 190 PRINT#15,"B-P:"3;K 200 GET#1,A$:IF A$="" THEN PRINT" [146]";:GOTO 220 210 PRINT A$; 220 NEXT 230 PRINT ,,"PURGE ?  [146][157]"; 240 GETA$:IFA$<>"Y" AND A$<>"N" THEN240 250 PRINT A$ 260 IF A$="Y" THEN GOSUB 360 270 R=R+1:IF R<8 THEN 140 280 PRINT#15,"B-P:"3;0 290 GET#1,A$:IFA$="" THENA$=Z$ 300 T=ASC(A$):IF T=0 THEN PRINT:PRINT "END OF DIRECTORY.":GOTO 400 310 PRINT#15,"B-P:"3;1 320 GET#1,A$:IFA$=""THENA$=Z$ 330 S=ASC(A$):PRINT:PRINT "*** NEXT TRACK: ";:NU=T:GOSUB520:PRINT N$; 340 PRINT TAB(20);"NEXT SECTOR: ";:NU=S:GOSUB 520:PRINT N$;" ***":PRINT 350 R=0:GOTO140 360 PRINT#15,"B-P:"3;5+32*R-3 370 PRINT#1,CHR$(0); 380 PRINT#15,"U2:"3;D;T;S 390 GOSUB460:RETURN 400 CLOSE 1 405 PRINT "VALIDATE DISK Y OR N" 406 GET V$:IF V$="Y"THEN410 407 IF V$=""THEN 406 408 CLOSE15:END 410 PRINT:PRINT "VALIDATING DISK[146]" 420 PRINT#15,("V"+DR$) 430 GOSUB460:CLOSE 15 440 END 450 REM CHECK DISK STATUS 460 INPUT#15,ER,ER$,TR,SE 470 IF ER=0 THEN RETURN 480 CLOSE 15:CLOSE 1 490 PRINT:PRINT "DISK ERROR! "; 500 PRINT ER;ER$;TR;SE 510 STOP 520 REM FORMAT (null)S 530 N$=MID$(STR$(NU),2) 540 IF LEN(N$)<2 THEN N$="0"+N$ 550 RETURN